/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.softnight.entidades;

import java.beans.PropertyChangeSupport;
import java.sql.Date;

/**
 *
 * @author Franklin
 */
public class Cliente {
    private Long id;
    private String nome;
    private Date dataNascimento;
    private String cpf;
    private String enderecoResidencial;
    private String numeroResidencia;
    private String complementoResidencia;
    private String bairroResidencia;
    private String cidadeResidencia;
    private String ufResidencia;
    private String cepResidencia;
    private String dddResidencial;
    private String foneResidencial;

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the dataNascimento
     */
    public Date getDataNascimento() {
        return dataNascimento;
    }

    /**
     * @param dataNascimento the dataNascimento to set
     */
    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    /**
     * @return the cpf
     */
    public String getCpf() {
        return cpf;
    }

    /**
     * @param cpf the cpf to set
     */
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    /**
     * @return the enderecoResidencial
     */
    public String getEnderecoResidencial() {
        return enderecoResidencial;
    }

    /**
     * @param enderecoResidencial the enderecoResidencial to set
     */
    public void setEnderecoResidencial(String enderecoResidencial) {
        this.enderecoResidencial = enderecoResidencial;
    }

    /**
     * @return the numeroResidencia
     */
    public String getNumeroResidencial() {
        return numeroResidencia;
    }

    /**
     * @param numeroResidencia the numeroResidencia to set
     */
    public void setNumeroResidencial(String numeroResidencia) {
        this.numeroResidencia = numeroResidencia;
    }

    /**
     * @return the complementoResidencia
     */
    public String getComplementoResidencial() {
        return complementoResidencia;
    }

    /**
     * @param complementoResidencia the complementoResidencia to set
     */
    public void setComplementoResidencial(String complementoResidencia) {
        this.complementoResidencia = complementoResidencia;
    }

    /**
     * @return the bairroResidencia
     */
    public String getBairroResidencial() {
        return bairroResidencia;
    }

    /**
     * @param bairroResidencia the bairroResidencia to set
     */
    public void setBairroResidencial(String bairroResidencia) {
        this.bairroResidencia = bairroResidencia;
    }

    /**
     * @return the cidadeResidencia
     */
    public String getCidadeResidencial() {
        return cidadeResidencia;
    }

    /**
     * @param cidadeResidencia the cidadeResidencia to set
     */
    public void setCidadeResidencial(String cidadeResidencia) {
        this.cidadeResidencia = cidadeResidencia;
    }

    /**
     * @return the ufResidencia
     */
    public String getUfResidencial() {
        return ufResidencia;
    }

    /**
     * @param ufResidencia the ufResidencia to set
     */
    public void setUfResidencial(String ufResidencia) {
        this.ufResidencia = ufResidencia;
    }

    /**
     * @return the cepResidencia
     */
    public String getCepResidencial() {
        return cepResidencia;
    }

    /**
     * @param cepResidencia the cepResidencia to set
     */
    public void setCepResidencial(String cepResidencia) {
        this.cepResidencia = cepResidencia;
    }

    /**
     * @return the dddResidencial
     */
    public String getDddResidencial() {
        return dddResidencial;
    }

    /**
     * @param dddResidencial the dddResidencial to set
     */
    public void setDddResidencial(String dddResidencial) {
        this.dddResidencial = dddResidencial;
    }

    /**
     * @return the foneResidencial
     */
    public String getFoneResidencial() {
        return foneResidencial;
    }

    /**
     * @param foneResidencial the foneResidencial to set
     */
    public void setFoneResidencial(String foneResidencial) {
        this.foneResidencial = foneResidencial;
    }
    
    @Override
    public String toString() {
        return nome;
    }
    
    @Override
    public Object clone() {
        Cliente cliente = new Cliente();
        cliente.setId(this.getId());
        
        return cliente;
    }
    
    @Override
    public boolean equals(Object cliente) {
        boolean resultado = false;
        
        if (cliente != null && cliente.getClass() == this.getClass() && ((Cliente)cliente).getId() == this.getId()) {
            resultado = true;
        }
        
        return resultado;
    }
            
    
}
